package com.example.springpethospital.mapper;

import com.example.springpethospital.entity.examination.param.ExaminationPaperQueryParam;
import com.example.springpethospital.entity.examination.param.ExaminationQueryParam;
import com.example.springpethospital.entity.examination.po.ExaminationPO;
import com.example.springpethospital.entity.examination.po.ExaminationPaperPO;
import com.example.springpethospital.entity.examination.po.ExaminationQuestionPO;
import com.example.springpethospital.entity.examination.param.ExaminationQuestionQueryParam;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface ExaminationMapper {

    int insertQuestion(@Param("po") ExaminationQuestionPO question);

    int updateQuestion(@Param("po") ExaminationQuestionPO question);

    void batchDeleteQuestion(@Param("ids") List<Integer> ids);

    int queryQuestionCount(@Param("param") ExaminationQuestionQueryParam param);

    List<ExaminationQuestionPO> questionPage(@Param("param") ExaminationQuestionQueryParam param);

    //----------------------------------------------------------------------------------------------------

    int insertPaper(@Param("po") ExaminationPaperPO paper);

    int updatePaper(@Param("po") ExaminationPaperPO paper);

    void batchDeletePaper(@Param("ids") List<Integer> ids);

    int queryPaperCount(@Param("param") ExaminationPaperQueryParam param);

    List<ExaminationPaperPO> paperPage(@Param("param") ExaminationPaperQueryParam param);

    //----------------------------------------------------------------------------------------------------

    int insertExam(@Param("po") ExaminationPO examinationPO);

    int updateExam(@Param("po") ExaminationPO examinationPO);

    void batchDeleteExam(@Param("ids")List<Integer> examIds);

    int queryExamCount(@Param("param") ExaminationQueryParam param);

    List<ExaminationPO> examPage(@Param("param") ExaminationQueryParam param);
}
